Platform Explorer / Nuxeo Platform 2021

Extension point operation

Documentation

    <scriptedOperation id="Scripting.HelloWorld">
        <inputType>string</inputType>
        <outputType>string</outputType>
        <param name="lang" type="string"/>
        <script>
          function run(input, params) {
          if (params.lang === "fr") {
          return "Bonjour " + input;
          } else {
          return "Hello " + input;
          }
          }
        </script>
    </scriptedOperation>

Contribution Descriptors

  • Class: org.nuxeo.automation.scripting.internals.ScriptingOperationDescriptor

Existing Contributions

Contributions are presented in the same order as the registration order on this extension point. This order is displayed before the contribution name, in brackets.

  • nuxeo-template-rendering-core-2021.1.19.jar /OSGI-INF/operations-contrib.xml
    <extension point="operation" target="org.nuxeo.automation.scripting.internals.AutomationScriptingComponent">
    
        <scriptedOperation id="javascript.FilterTemplatesByType">
          <inputType>document</inputType>
          <outputType>documents</outputType>
          <category>javascript</category>
          <description>Filter templates according to the type of a given input document.</description>
          <script><![CDATA[
            function run(input, params) {
              return Repository.Query(null, {
                'query': 'select * from Document where ecm:mixinType = "Template" AND ecm:isTrashed = 0 AND tmpl:applicableTypes IN ( "all", "' + input['type'] + '") AND ecm:isVersion = 0'
              });
            }
          ]]></script>
        </scriptedOperation>
    
        <scriptedOperation id="javascript.RenderPdf">
          <inputType>document</inputType>
          <outputType>blob</outputType>
          <category>javascript</category>
          <param name="templateName" type="string"/>
          <param name="attach" type="boolean"/>
          <param name="templateData" type="string"/>
          <description>Render a document with a given template and converts it to PDF.</description>
          <script><![CDATA[
            function run(input, params) {
              var blob = TemplateProcessor.Render(input, {
                'templateName': params.templateName,
                'attach': params.attach || false,
                'templateData': params.templateData || null
              });
              return Blob.RunConverter(blob, {'converter': 'any2pdf'});
            }
          ]]></script>
        </scriptedOperation>
    
      </extension>